import { IEvent } from '@/core';
import { IPortletAbility } from '../ability';
import { IPortletStore } from '../store';
import { IDECtrlController } from './i-de-ctrl-controller';

/**
 * 门户部件控制器接口
 *
 * @export
 * @interface IPortletController
 * @extends {IDECtrlController}
 */
export interface IPortletController<
	S extends IPortletStore,
	A extends IPortletAbility
> extends IDECtrlController<S, A> {
	/**
	 * 处理门户部件
	 *
	 * @param {IEvent<string>} actionParam
	 * @memberof IPortletController
	 */
	handleComponentAction(actionParam: IEvent<string>): void;
}
